package its_models.student_model;
/*********************************************************************
 * Class StudentModelDiagonsisProperties
 * 1. store all default value of its student model diagonsis
 *********************************************************************/

public class StudentModelProperties {

    public StudentModelProperties(){}

    public static int getDefaultStepsStackSize(){
        return DEFAUTL_STEPS_STACK_SIZE;
    }

    public static String getCellIndexActionSeperator(){
        return CELL_INDEX_ACTION_SEPERATOR;
    }

    public static String getCommandVariableSeperator(){
        return COMMAND_VARIABLE_SEPERATOR;
    }

    public static String getAssignValueCommand(){
        return ASSIGN_VALUE_COMMMAND;
    }

    public static String getEraseValueCommand(){
        return ERASE_VALUE_COMMAND;
    }

    public static String getPossibleCaluValueCommand(){
        return POSSIBLE_CALU_VALUE_COMMAND;
    }

    public static String getImpossibleCaluValueCommand(){
        return IMPOSSIBLE_CALU_VALUE_COMMAND;
    }

    public static int getIndexPart(){
        return INDEX_PART;
    }

    public static int getActionCommandPart(){
        return ACTION_COMMAND_PART;
    }

    public static int getInvoivedValuePart(){
        return INVOLVED_VALUE_PART;
    }

    /* StepsManagement */
    private final static int DEFAUTL_STEPS_STACK_SIZE = 10;
    private final static String CELL_INDEX_ACTION_SEPERATOR =";";
    private final static String COMMAND_VARIABLE_SEPERATOR ="-";
    private final static String ASSIGN_VALUE_COMMMAND ="A";
    private final static String ERASE_VALUE_COMMAND ="E";
    private final static String POSSIBLE_CALU_VALUE_COMMAND = "P";
    private final static String IMPOSSIBLE_CALU_VALUE_COMMAND = "I";

    
    /* steps format is divided into 3 parts - xx;yy-zz e.g 50;A-5 Assign a value 5 to index 50 cell with no org value*/
    /* steps format is divided into 3 parts - xx;yy-zz e.g 50;E-5 Erase a value 5 from index 50 */
    /* steps format is divided into 3 parts - xx;yy-zz e.g 50;I-5 Set calu value 5  as impossible from index 50 */
    /* steps format is divided into 3 parts - xx;yy-zz e.g 50;P-5 Set calu value 5  as possible from index 50 */
    private final static int INDEX_PART = 0; /* xx */
    private final static int ACTION_COMMAND_PART = 1; /* yy */
    private final static int INVOLVED_VALUE_PART = 2; /* zz */
 

}
